import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

// 从本地读取数据存入vuex,主要是为了应对刷新后vuex数据丢失的问题
let userInfo = JSON.parse(localStorage.getItem('userInfo')) || {}

export default new Vuex.Store({
  state: {
    userInfo
  },
  getters: {
    // 侧边栏的数据 这样就不用一直刷新发请求了
    menuList(state) {
      return state.userInfo.menus
    }
  },
  mutations: {
    saveUserInfo(state, payload) {
      // vuex的修改和localStorage的修改应该是同时的 保证数据一致
      state.userInfo = payload;
      localStorage.setItem('userInfo', JSON.stringify(payload))
    },
    logout(state) {
      state.userInfo = {};
      localStorage.removeItem('userInfo')
    }
  },
  actions: {
  },
  modules: {
  }
})
